Encoding and Decoding Method, and Encoding and Decoding Devices with a Two-Stage Error Protection Process

ABSTRACT

An encoding method for a series of data packets transmitted in the framework of a combined streaming and downloading application by a two-stage error protection process and only one unidirectional transmission channel. According to said method, a partial block of successive data packets is protected against at least some of the transmission errors occurring during streaming with the aid of a first error protection process while all data packets are protected against the transmission errors remaining after streaming is completed with the aid of a second error protection process. In a decoding method by which a series of data packets that are encoded according to the encoding method are decoded. Also disclosed is an encoding and decoding device for carrying out the method.

The invention relates to an encoding method according to the preamble of claim 1 and a decoding method according to the generic part of claim 15. Furthermore, the invention relates to an encoding device according to the generic part in claim 16 and a decoding device according to the generic part in claim 17.

Internet-based applications have become increasingly popular in recent years. One class of applications is streaming applications. A user can hereby access multimedia content online with the aid of a streaming protocol. Examples of multimedia content are text, graphics, music, video or a mixture of same. A video clip with music is an example of multimedia content. In this context, online means that immediately after receipt of the first packets at the user, said packets are played back, e.g. at a loudspeaker. A complete downloading, for example of the video clip, is not necessary. In addition to the possibility that a content server provides the multimedia content for retrieval, the multimedia content can be recorded and edited in real time and forwarded directly to a user via a streaming application without buffer storage on a so-called content server. Multimedia content of this kind recorded and transmitted in real time is, for example, a radio program (web radio). Saving the multimedia content, e.g. on a content server, is not necessary in this case.

Furthermore, download applications such as the loading of MP3 pieces of music or MPEG-2 feature films are very popular. In this case, the multimedia content is encoded using a standard compression method according to MP3 or MPEG-2 video for instance, and provided on a content server for downloading. First, the user loads the complete multimedia content onto his device, e.g. onto his computer or mobile phone and after completion of the download process this media content can be played back, e.g. on a monitor.

Furthermore, hybrids of streaming and of the download application are also discussed. For example, with a music distribution service, a user can select a piece of music by using his device, his mobile phone for example, and load it on to his device by payment of a purchase price. In this way, the user is able to listen to the piece of music during the download process and then after it has been loaded on to his device he is able to play back the complete piece of music as often as required. The user hereby receives the impression that the piece of music is streamed, whereas in fact the complete piece of music is nevertheless present on his device after completion of the streaming process. With this hybrid, a point-to-point connection currently exists between the device of the user and the content server.

In addition to this hybrid streaming and download application, point-to-multipoint connections should also be possible. A point-to-multipoint connection is also known as “broadcast” or “multicast” In the following; this hybrid is referred to as a broadcast application. With this application, the same multimedia content is available to several users at the same time. An example of this is a music video that is broadcast live to the user and may be recorded.

In addition to an excellent picture and sound quality, the user of a broadcast application of this kind also expects no transmission errors to occur within the multimedia content. Despite expensive error protection processes, residual errors in the physical layer and radio link layer occur during the transmission of data packets via mobile radio channels. A typical value for a residual error is approximately 1%. Whereas data packets with transmission errors transmitted using a point-to-point connection can be repeated with the aid of an ARQ (Automatic Repeat Request) process, this is generally not economically feasible with broadcast and multicast applications, so that data packets with errors are received. Therefore, with these broadcast applications, the multimedia content is transmitted by means of a unidirectional transmission channel and a return channel is not available. A broadcast application of this kind is known for example from VHF (radio technology). With the use of the IP protocol (Internet Protocol), data packets containing errors also lead to the complete data packets being lost which means that the multimedia content cannot be played back correctly.

In addition to data transmission containing errors via mobile radio channels, data packets losses can also occur due to a radio cell change. In individual cases, an interruption in data transmission of approximately 10 seconds can occur during a radio cell change. Whilst the data packets for purely broadcast download applications can be reconstructed with the aid of suitable measures such as interleaving, even where there are long interruptions, this method cannot be applied for streaming applications because of the time delay. A number of processes are known for reconstructing data packets that contain errors or have been lost, such as are given in [1-5].

The object underlying the invention is to specify an encoding and decoding method and an encoding device and decoding device which provide efficient error protection for applications with common streaming and download functionality with only a unidirectional transmission channel in a simple and efficient manner.

This object is achieved on the basis of the encoding method according to the preamble of claim 1 by means of the characterizing features of said claim, and on the basis of the decoding method according to the generic part in claim 15 by means of the characterizing features of said claim. Furthermore, this object is achieved on the basis of the encoding device according to the generic part in claim 16 by the characterizing features of said claim, and on the basis of the decoding device according to the generic description in claim 17 by the characterizing features of said claim.

With an encoding method for transmitting a series of data packets via at least one unidirectional transmission channel within the framework of a combined streaming and downloading application by means of a two-stage error protection process, a partial block of successive data packets is protected against at least part of the transmission errors that occur during streaming with the aid of a first error protection process and with the aid of second error protection process all data packets are protected against transmission errors remaining after completion of the streaming.

On the one hand, the method according to the invention enables the playback of a series of data packets during streaming. This guarantees, with the aid of a first error protection process, that at least part of the transmission errors caused by the transmission can be corrected and thus at least a part of the data packets can be reconstructed without errors. Thus, despite errors in transmission, the playback of at least part of the data packets is guaranteed.

Furthermore, all data packets are available in reconstructed form after completion of the streaming. This corresponds to the download of the series of data packets. With the aid of the second error protection process, those reconstructed data packets that could not be reconstructed error free by the first error protection process can be corrected. This means that a user can play back the data packets during the streaming, e.g. as a piece of music, and after completion of the streaming these data packets that sometimes still contain faults can be reconstructed error free for output at a later point in time, e.g. through a loudspeaker.

The method according to the invention is advantageous in practice, as, on one hand, no return channel is required for transmission and therefore the inventive method can be used for a point-to-multipoint connection. On the other hand, the two-stage error protection process, i.e. the first and second error protection process, means that a first number of errors per partial block can be corrected by the first error protection process and that only those errors that could not be removed by the first error protection process, such as longer burst of errors, have to be improved using the second error protection.

In a preferred embodiment, in order to transmit the series of data packets, several successive data packets are combined to form a partial block, with an error protection block being created for each partial block with the aid of the first error protection process in such a way that each error protection block consists of several error protection packets, that each error protection block represents at least one error protection packet, an encoded data packet and at least one other error protection packet represents a redundant block, and that an encoded data packet is formed per data packet, the error protection blocks are transmitted sequentially in the time sequence in which the associated data packets are temporally played back, the encoded data packets are combined to form a complete block, a second complete error protection block is created for the complete block with the aid of the second error protection process and the complete error protection block is transmitted after transmission of all the error protection blocks belonging to the series.

By using this preferred embodiment, the method according to the invention can be implemented in several steps in a simple manner, e.g. with the aid of an encoding device.

At least one of the following error protection algorithms, EXOR parity code, Reed Solomon code and /or low density parity check codes is preferably used for the first and/or second error protection process. With the aid of at least one of these error protection algorithms, the first and/or second error protection process can be implemented in an advantageous manner.

If a number of packets of data packets of the partial block are determined as a function of a specifiable delay, taking account of a transmission rate, a redundant block length and an encoded data packet length, the number of packets can be adjusted to achieve a minimum delay for the playback of data packets, such as a piece of music for instance.

In an alternative variant, a characteristic value is created for each data packet using a statistical method, with the characteristic value representing the importance of the respective data packet in respect of at least one other data packet, and a number of packets of data packets being created for the partial block in such a way that a sum of characteristic values of successive data packets within the respective partial block reaches at least one specifiable threshold. This enables a small number of data packets with particularly important information and a larger number of data packets with unimportant information to be combined in a partial block. If, for example, a redundant block of the same length is created for all partial blocks, partial blocks with a lower number of packets of data packets are better protected against errors than partial blocks with a larger number of packets of data packets. For example, an important data packet receives packet information that is required for all data packets for decoding purposes.

The data protection block is preferably created in such a way that the encoded data packets within the error protection block are provided with unequal error protection. In this way, one or more encoded data packets comprise more error protection than other encoded data packets of the same error protection block. In the event of encoded data packets being transmitted with errors, encoded data packets with more error protection can be corrected and other encoded data packets with less error protection can be subjected to a non error-free reconstruction.

Additionally, encoded data packets containing important information can be provided with more error protection and other encoded data packets containing less important information can be provided with less error protection. This means that at least the encoded data packets containing the important information can be reconstructed in an error-free manner.

In a particularly preferred embodiment, the error protection block is created in such a way that a specifiable number of error blocks of erroneous error protection packets within the respective error protection block can be corrected by means of the respective error protection block. In this way, a correction characteristic of the error protection block can be individually matched, e.g. to an error susceptibility of the transmission channel.

In an alternative embodiment, at least one erroneous error protection packet within the error protection block can be corrected by means of the respective error protection block. In this way, a minimum correction property of the error correction block can be guaranteed.

In a preferred alternative variant, at least two successive erroneous error protection packets within the error protection block can be corrected by means of the respective error correction block. Many transmission systems, such as UMTS (Universal Mobile Telecommunications System) use a fault correction and interleaving process to avoid transmission errors. If, however, this error protection fails, e.g. due to too many errors, two or more encoded data packets in succession can be erroneous. Therefore, this embodiment represents a particularly advantageous variant taking account of common transmission systems, such as UMTS.

If the complete error protection block is created in such a way that a larger number of erroneous encoded data packets within the error protection block can be corrected than by means of the first error protection process, it is guaranteed that a larger number of erroneous encoded data packets, that could not be corrected by the first error protection process, are reconstructed in an error-free manner with the aid of the complete error protection block after complete transmission of all encoded data packets.

Advantageously, the complete error protection block is created in such a way that, with the help of several segments of the complete error protection block, different subsets of encoded data packets can be corrected. In this way, error protection algorithms that have a limitation with respect to the number of data packets can also be used for the second error protection process. For example, only 255 encoded data packets can be protected by a Reed-Solomon code in the Galoisfeld “2⁸”. By dividing the encoded data packets into several subsets, e.g. into four subsets each with 200 encoded data packets, the aforementioned condition can be complied with by the Reed-Solomon code.

In a preferred variant, the encoded data packets when transmitting the error protection blocks are transmitted via a first transmission channel and the redundant blocks via a second transmission channel. This enables the encoded data packets and the complete error protection block of the first transmission channel to be processed with a less complex download application, and the encoded data packets, the redundant blocks and the complete error protection block of both transmission channels to be processed with a more complex application.

In a particularly preferred embodiment, the encoded data packets and the redundant blocks are transmitted synchronized in such a way that the redundant block of the respective error protection block is present at the receiver not later than the point in time at which the last encoded data packet of the respective error protection block also arrives at the receiver. This guarantees that where two transmission channels are used there is a minimum delay, for the playback of the data packets during the streaming.

Furthermore, the invention relates to a decoding method by means of which a sequence of encoded data packets encoded according to an encoding method can be decoded. In this way, data packets encoded with the method according to the invention can be reconstructed.

Furthermore, the invention relates to an encoding device with means for performing an encoding process. This enables the encoding method according to the invention to be implemented and executed in the encoding device, especially a mobile radio device, a portable device and/or a stationary computing device.

Furthermore the invention relates to a decoding device with means for implementing a decoding method. In this way, the decoding method according to the invention can be implemented and executed in the decoding device, particularly a mobile radio device, a portable device and/or a stationary computing device.

Further details and advantages are explained in more detail with the aid of FIGS. 1 to 6, in which;

FIG. 1 a-1 e shows a first exemplary embodiment with several data packets for implementing the individual process steps of the encoding method according to the invention.

FIG. 2 shows a creation of a complete error protection block with various segments of the complete error protection block protecting different subsets of encoded data packets.

FIG. 3 shows a transmission of encoded data packets via a first transmission channel and of redundant blocks via a second transmission channel.

FIG. 4 shows a flow diagram showing an example of the process steps at the receiver end for decoding the received encoded data packets and reconstructing the data packets.

FIG. 5 shows an encoding device for performing an encoding process, a transmission medium and a decoding device for performing a decoding process.

FIG. 6 shows a flow diagram showing the process steps of the encoding method according to the invention.

Elements with the same function and method of operation are given the same reference characters in FIGS. 1 to 6.

The individual process steps of the method according to the invention are explained in more detail in the following with the aid of FIGS. 1 a to 1 e. FIG. 6 shows the process steps in the form of a flow diagram. In a first exemplary embodiment, a music video clip is being transmitted from a video server to a mobile terminal. The music video clip according to FIG. 1 a consists of N=800 data packets D1, . . . , D800=DN, with it being initially assumed that all data packets D1, . . . , D800 have the same data packet length PL. A data packet D1, . . . , D800, for example, consists of a number of bits or bytes, e.g. a data packet length PL of 320 bytes.

In a first process step V1, several successive data packets D1, . . . , DN are combined to form a partial block T1, . . . , TM in each instance. In FIG. 1 a, every 40 data packets form a partial block, for example data packets D41, . . . , D80 form partial block T2. In this exemplary embodiment, 40 data packets are always combined to form a partial block. A number of packets L1, . . . , LM, that give the number of data packets contained for each partial block T1, . . . , TM, therefore amounts to 40, i.e. L1=L2=. . . =L20=40. However, in general any number of data packets D1, . . . , DN can be combined to form a partial block T1, . . . , TM, with it being possible for this number of packets L1, . . . , LM to vary from partial block to partial block. After completion of this process step, all data packets D1, . . . , DN are assigned to a partial block T1, . . . , TM.

In a second processing step V2, an error protection block F1, . . . , FM is formed for each partial block T1, . . . , TM with the aid of a first error protection process FS1. A plurality of systematic and non-systematic error protection algorithms (codes) for use as an error protection process are known from the prior art, [1-5] for example. In this case, the first error protection process FS1 can correspond to an EXOR parity code, a Reed-Solomon code (RS) or also a low density parity check code. After encoding with the aid of the first error protection process FS1, an error protection block F1, . . . , F20 contains, as shown in FIG. 1 b, 40 encoded data packets C1, . . . , C800 and a redundant block R1, . . . , R20. In this process, a data packet D1, . . . , DN is assigned each encoded data packet C1, . . . , CN. In this exemplary embodiment, the redundant blocks R1, . . . , R20 each contains 320 bytes. The encoded data packets C1, . . . , C800 and the redundant blocks R1, . . . , R20 are also designated as error protection packets. Therefore, for example, an erroneous error protection packet can be corrected within the error protection block F1, . . . , F20.

In practice, the use of a systematic error protection algorithm is appropriate for the first error protection process FS1, because in this way data packets D1, . . . , DN appear unchanged in the encoded data packets C1, . . . , CN. On the other hand, for non-systematic codes, an encoding of data packets D1, . . . , DM is performed in such a way that a binary content of the encoded data packet C1, . . . , CN does not correspond to the binary content of the respective data packet D1, . . . , DN. When systematic error protection algorithms are used, it is advantageous that a receiver can, in a case where no error occurs in the transmission of the encoded data packets C1, . . . , CN, obtain the data packets D1, . . . , DN directly by copying from the encoded data packets C1, . . . , CN without having to use the first error protection process FS1 for decoding. This substantially reduces the complexity involved in performing a decoding process using systematic error protection algorithms at the receiver end.

The error protection blocks F1, . . . , FM are transmitted in a third process step V3. In this case, the error protection blocks F1, . . . , FM are transmitted in such a way that error protection block F1, that represents data packets D1, D40, that are to be played back first, is transmitted first, and error protection block F20, that represents data packets D761, . . . , D800, that are to be played back last, is transmitted last. This is shown in FIG. 1 c. Error protection block Fl is first transmitted, then F2 and finally F20. The transmission of error protection blocks F1, . . . , FM in this sequence guarantees that a receiver first receives all the error protection packets of error protection block F1, so that after any necessary correction of erroneous received error protection packets and the necessary decoding where non-systematic codes are used, the 40 reconstructed data packets D1, . . . , D40 can be forwarded immediately for play back, for example to a loudspeaker. If, for example, all the encoded data packets C1, . . . , C800 were transmitted first and then all redundant blocks R1, . . . , R20 were transmitted, the receiver would, if a fault occurred, for example in the encoded data packet C40, have to first receive all 800 encoded data packets C1, . . . , C800 and then proceed with the error correction or decoding. Therefore, transmitting encoded data packets C1, C40 of the first error protection block F1 and of the redundant block R1 together means that with a short delay of 41 packets, 40 encoded data packets and a redundant block, the playback of the music video clip can be started during the streaming, after a slight delay. The delay V created by this method is explained in the following by means of an example. A transmission medium UEM, through which the error protection packets F1, . . . , FM are transmitted, has a transmission bandwidth UR of 64 kbit/s. Each error protection packet of the error protection block F1, . . . , FM contains 40 encoded data packets and a redundant block with an encoded data packet length CL1, . . . , CLN, with for example CL1, . . . , CLN being equal to 320 bytes and a redundant block length J1, . . . , JM with J1, . . . , JM being equal to 320 bytes. Therefore a maximum delay V for the playback of the music video clip is obtained as follows.

$V = {\frac{{{CL}\; 1*40} + {J\; 1}}{UR} = {\frac{320\mspace{14mu} {{bytes} \cdot \left( {40 + 1} \right)}}{64\mspace{14mu} {kbits}\text{/}\sec} = {\frac{13120\mspace{14mu} \sec}{8000} = {1.64\mspace{14mu} \sec}}}}$

Consequently the maximum delay V is 1.64 seconds. If the user wanted to transmit all error protection packets of all error protection blocks F1, . . . , FM before the music video clip playback, then in the event of an erroneous transmission, he will have to allow for a maximum delay of

$V = {\frac{{{CL}\; 1*800} + {J\; 1*20}}{UR} = {\frac{\left. {320\mspace{14mu} {bytes}*\left( {800 + 20} \right)} \right)}{8000\mspace{14mu} {bytes}\text{/}\sec} = {32.8\mspace{14mu} \sec}}}$

until the complete music video clip was ready for playback.

With data transmission over mobile radio channels, short error burst occur more frequently than long ones because long error bursts, for example, occur only at very few handovers. Therefore, it is advantageous to configure the error protection block F1, . . . , FM by means of the first error protection process, FS1 in such a way that a small number of erroneous transmitted error protection packets are corrected within the respective error protection block F1, . . . , FM, such as, for example, one or two error protection packets per error protection block F1, . . . , FM. Furthermore, with a large error protection in the error protection packet there will be a greater overhead to be transmitted. In this example a correction by means of the first error protection process FS1 would not be possible where there were more than two erroneous transmitted error protection packets and the user would have to allow for an interruption in the music clip for a time period V, for example of 1.64 sec. As is shown again later it should be possible to rectify such errors by means of a second error protection process FS2, so that on completion of the download an error-free music video clip would be available. Furthermore it is expedient if when choosing the first error protection process FS1 an error protection algorithm is chosen that can correct erroneous error protection packets regardless of how they are arranged, especially encoded data packets C1, . . . , CN, within the error protection block F1, . . . , FM.

Furthermore it is useful for the error protection block F1, . . . , FM to be created in such a way that a specified number of error blocks FF of encoded data packets C1, . . . , CN and redundant blocks R1, . . . , RM can be corrected within the error protection block F1, . . . , FM. With known error correction algorithms, such as [1-5], this can be achieved by a suitable dimensioning of the redundant blocks R1, . . . , RM. Let us assume, for example, that all encoded data packets C1, . . . , CN are of equal length, e.g. 100 bytes each. In this way, one error protection packet per error protection block F1, . . . , FN can be corrected by a redundant block R1, . . . , RM 100 bytes long. If 2×100 bytes=200 bytes per redundant block R1, . . . , RM are used, it is possible, for example, to correct two encoded data packets C1, . . . , CN per error protection block F1, . . . , FM. This procedure can be analogously extended to achieve a correction characteristic of three or more encoded data packets C1, . . . , CN for each error protection block. The respective redundant block R1, . . . , RM can then also be corrected in addition to the encoded data packets C1, . . . , CN.

In a fourth process step V4, the encoded data packets C1, . . . , CN are combined in a complete block GB. An example of this is shown in FIG. 1 d.

In a fifth process step V5, a complete error protection block GFB is created for the complete block GB with the aid of a second error protection process FS2. Known error protection algorithms such as in [1-5] can be used for this purpose. In contrast to the first error protection process FS1, only systematic error protection algorithms may, however, be used for the second error protection process FS2, because the use of non-systematic error protection algorithms would cause a binary change to the content of the encoded data packets and thus a correction or decoding by means of the first error protection process FS1 would only be possible after decoding by the second error protection process FS2. In the following, the encoded data packet C1, . . . , CN transmitted to the receiver are designated as transmitted encoded data packets E1, . . . , EN, with it being possible for these transmitted encoded data packets E1, . . . , EN to have transmission errors due to a transmission that is susceptible to errors.

In practice, it is furthermore useful if more erroneous transmitted encoded data packets E1, . . . , EN can be corrected with the aid of the complete error protection block GFB rather than with the respective error protection block F1, . . . , FM. It is assumed, for example, that due to a handover ten transmitted encoded data packets E51, . . . , E60 were erroneously transmitted within the partial block T2. Because the error protection block F2 can only correct two of the erroneous transmitted encoded data packets E51, . . . , E60 by using its redundant block R2, a (complete) error correction is not possible in this way. However, with the aid of the complete error protection block GFB, that for example can correct up to 20 erroneous transmitted encoded data packets E1, . . . , EN, these ten erroneous transmitted encoded data packets E51, . . . , E60 can be reconstructed error-free within the partial block T2. A precondition for this is, however, that only ten other transmitted encoded data packets E1, . . . , E50, E61, . . . , EN were received erroneously. Otherwise, there would be more erroneous transmitted data packets E1, . . . , EN present than could be corrected by means of the second error protection process FS2.

In a sixth step V6, the complete error protection block GFB is transmitted after error protection blocks F1, . . . , FM. This means that on completion of the streaming all error protection blocks F1, . . . , FM are available, in addition to the complete error protection block GFB, for correction of the errors that could not be corrected by error protection block F1, . . . , FM.

In a possible expansion of the method according to the invention, the number of packets L1, . . . , LM of data packets D1, . . . ,DN of the partial block T1, . . . , TM are determined as a function of a specifiable delay V, taking account of a transmission rate UR, an encoded data packet length C1, . . . , CLN and a redundant block length J1, . . . , JM. The encoded data packet length CL1, . . . , CLN includes the number of symbols, e.g. of bytes, per encoded data packet, CL1, . . . , CN. The redundant block length J1, . . . , JM describes the number of symbols, e.g. bytes per redundant block, R1, . . . , RM. This is explained in more detail in the following example.

-   -   Encoded data packet length CL1=CL2=. . . =CLN=500 bytes     -   Redundant block lengths J1=J2=. . . =JM=500 bytes     -   delay V=3 seconds     -   Transmission rate UR 128 kbit/sec=16 kbyte/sec

By using these parameters, the number of packets L1, . . . , LM of data packets of the partial block T1, . . . , TM can be calculated as follows.

${L\; 1\mspace{14mu} \ldots}\; = {{{LM}\mspace{11mu} \frac{{V \cdot {UR}} - {J\; 1}}{{CL}\; 1}} = {\frac{\begin{matrix} {{3\mspace{14mu} {\sec \cdot 16}\mspace{14mu} {kbyte}\text{/}\sec} -} \\ {500\mspace{14mu} {byte}} \end{matrix}}{500\mspace{14mu} {byte}} = {95\mspace{14mu} {packets}}}}$

A maximum of 95 encoded data packets and, because one data packet is assigned per encoded data packet, therefore 95 data packets may be contained in the partial block T1, so that at the given parameters a maximum delay V of 3 seconds is not exceeded. In the above example, it was assumed that the encoded data packet length CL1, . . . , CLN is identical in each encoded data packet C1, . . . , CN. In general, the encoded data packets C1, . . . , CN and data packets D1, . . . , DN can exhibit any length.

In an expansion of the method according to the invention, the number of packets L1, . . . , LM of data packets is determined on the basis of characteristic values W1, . . . , WN of successive data packets D1, . . . , DN, with the characteristic value W1, . . . , WN representing the importance of the respective data packet D1, . . . , DN in respect of at least one other data packet D1, . . . , DN. For example, every tenth data packet D1, D11, D21, . . . , D791 contains parameters that are important for all data packets D1, . . . , DN. All other data packets D2, D3, D10, D12, . . . , DN contain only multimedia information parameters, such as PCM (Pulse Code Modulation) data that can be decoded independent of other PCM data. With the aid of a statistical method, a characteristic value W1, . . . , WN is first assigned to each data packet D1, . . . , DN. For example, the influence the error of a specific data packet D1, . . . , DN has on the playback quality, such as for the audio quality of a piece of music, is determined by measurement. In another embodiment of a statistical method, the important data packets D1, D11, D21, . . . , D791 are assigned a characteristic value W1=W11=. . . =5 and the less important data packets D2, D3, . . . , DN are assigned the important value W2=W3=. . . =WN=1. In a further example, the data packets D1, . . . , DN represent an encoded video signal. In this case, the data packets that include movement vectors are particularly important for the decoding, whereas on the other hand the remaining data packets that contain the encoded residual error signal have a lesser importance in respect of the picture quality. Therefore, for example, the characteristic values of the important data packets have a higher value and the less important data packets a lower value. By presetting a specifiable threshold WS, a value is now specified that should not exceed a sum of characteristic values W1, . . . , WN of successive data packets D1, . . . , DN within the respective partial block T1, . . . , TN. The following parameter values are examples.

-   -   Specifiable threshold WS=35     -   Characteristic value W1=W11=W21=. . . =5     -   Characteristic value W2=W3=W4=. . . =WN=1

The number of data packets L1, . . . , LM of data packets for the partial block T1, . . . , TM is determined by the summation of characteristic values W1, . . . , WN of successive data packets D1, . . . , DN. For the example we get the following.

L1=W1+W2+W3+W4+. . . +W23=35≦WS.

Partial block T1 therefore includes data packets D1, . . . , D23, with the number of data packets L1 being 23. With this expansion of the method according to the invention, the number of packets, L1, . . . , LM of data packets for the partial block T1, . . . , TM is determined as a function of the respective characteristic values W1, . . . , WN and the specifiable threshold WS. The procedure for other numbers of packets L2, . . . , LM of data packets is the same as the procedures for the number of packets L1.

FIG. 2 shows an alternative variant of the method according to the invention where the complete error protection block GFB is created. For this process, the complete error protection block GFB is divided into segments S1, . . . , SL with each segment S1, . . . , SL being able to correct a subset M1, . . . , ML of encoded data packets C1, . . . , CN. In the exemplary embodiment shown in FIG. 2, the encoded data packets C1, . . . , C41, C81, . . . , C761 represent the subset M1. For this subset M1, a segment S1 is created with the aid of a second error protection process FS2. The subset M2 contains the encoded data packets C2, C42, C82, C762. Segment S2 includes an error protection for the subset M2. Further subsets M3, . . . , ML and segments S3, . . . , SL can be formed in a similar manner. Generally, the subsets M1, . . . , ML can be created from any combination of encoded data packets C1, . . . , CN, with it being possible to include one or more encoded data packets C1, . . . , CN in more than one subset M1, . . . , ML. The size of the segments S1, . . . , SL can also vary. Thus, for example, segment S1=100 bytes and segment S2=320 bytes.

According to the exemplary embodiment shown in FIG. 1 c, the error protection blocks F1, . . . , FM, are first transmitted in succession and then the complete error protection block GFB is transmitted. In this process, the error protection blocks F1, . . . , FM and the complete error protection block GFB are sent via a first transmission channel UW1. In an alternative variant according to FIG. 3, two transmission channels UW1, UW2 can also be used to send the encoded data packets C1, . . . , CN, the redundant blocks R1, . . . , RM and the complete error protection block GFB. In this way, all the encoded data packets C1, . . . , CN and the complete error protection block GFB can be sent via the first transmission channel UW1 and the redundant blocks R1, . . . , RM via the second transmission channel UW2. This is advantageous because it means that the encoded data packets C1, . . . , CN can be transmitted by the first transmission channel UW1 in such a way that these can be supported, received and further processed by receiver devices that hold only a download of multimedia content, i.e. of encoded data packets C1, . . . , CN. Furthermore by adding the redundant blocks R1, . . . , RM, that are sent by the second transmission channel UW2, an application that realizes a hybrid of download and streaming application, whereby a redundant block R1, . . . , RM can be received for each error protection block F1, . . . , FM and if errors occur these can be corrected by means of the respective redundant block R1, . . . , RM. When two transmission channels UW1, UW2 are used, it is useful in practice for both error protection processes FS1, FS2 to use systematic error protection algorithms, because otherwise the encoded data packets C1, . . . , CN can under certain circumstances not be decoded without using the redundant blocks R1, . . . , RM.

Furthermore, it is useful for the encoded data packets C1, . . . , CN and the redundant blocks R1, . . . , RM to be transmitted synchronized in such a way that the redundant block R1, . . . , RM of the respective error protection block F1, . . . , FM is present at the receiver not later than the point in time at which the last encoded data packets C1, . . . , CN of the respective error protection block F1, . . . , FM arrive at the receiver. This is further explained using FIG. 3. Thus, for example, the redundant block R1 arrives at the receiver device with the latest encoded data packet C40 of the error protection block F1. This similarly applies to the further partial blocks T2, . . . , TM, with for example the redundant block R2 being present at the receiver with the arrival of the encoded data packet C80, the last encoded data packet of the error protection block F2. This relationship is shown in FIG. 3 by a dotted line. Because of this synchronization, all error protection packets of an error protection block F1, . . . , FM are present at the receiver when the last encoded data packet C1, . . . , CN arrives and therefore a correction of erroneous transmitted error protection packets, and also a playback of data packets D1, . . . , DN reconstructed from the encoded data packet C1, . . . , CN can be achieved with minimum delay.

Furthermore, the invention relates to a decoding method by means of which data packets D1, . . . , DN can be reconstructed with the aid of the error protection that was created according to an encoding process. From an encoding device EV, the error protection packets that include the encoded data packets C1, . . . , CN and the redundant blocks R1, . . . , RM are transmitted to a decoding device DV, whereby the error protection packets can arrive with errors at the decoding device DV due to the erroneous transmission via the transmission medium. These error protection packets that arrive at the decoding device DV are designated as transmitted erroneous protection packets. An exemplary embodiment for the decoding process is explained in more detail in the following with the aid of FIG. 4.

-   -   In step S1, the transmitted error protection packets of an error         protection block F1, . . . , FM are received.     -   In step S2 the transmitted error protection packets of the error         protection block F1, . . . , FM are decoded with the aid of the         first error protection process FS1 and reconstructed data         packets G1, . . . , GN are created from this. These         reconstructed data packets G1, . . . , GN represent the data         packets D1, . . . , DN at the receiver but because of         transmission errors the reconstructed data packets G1, . . . ,         GN can differ from data packets D1, . . . , DN. In a variant, a         systematic error protection algorithm (code) is used for the         first error protection process FS1.

In this way, if none of the transmitted error protection packets that represent encoded data packets C1, . . . , CN were received with errors, the reconstructed data packets G1, . . . , GN of the partial block T1, . . . , TN can be reconstructed by copying the transmitted encoded data packets.

-   -   In step S3, the reconstructed data packets G1, . . . , GN of the         partial block T1, . . . , TM are checked to determine whether         all can be reconstructed in an error-free manner. If this is the         case, the process continues with step S4, if not then with step         S5.     -   In step S4 the reconstructed data packets G1, . . . , GN of the         partial block T1, . . . , TM are forwarded to an output medium,         e.g. to a loudspeaker module, for playing back.     -   In step S5 the received error protection block and the         reconstructed data packet G1, . . . , GN are stored.     -   In step S6 a check is now carried out to determine whether a         further error protection block F1, . . . , FM is ready for         reception. If this is the case, the process is started again         with step S1, otherwise it continues with step S7.     -   In step S7 the complete error protection block GFB is received         that, under certain circumstances, contains errors due to         transmission via the error-prone transmission medium UEM.     -   In step S8 residual errors of the reconstructed data packets G1,         . . . , GN, which could not be corrected by means of the first         error protection process FS1, are corrected with the aid of the         second error protection process FS2. In the following, those         transmitted error protection packets that in each case represent         encoded data packets C1, . . . , CN are designated encoded data         packets E1, . . . , EN. Depending on the error protection         algorithm employed in the first error protection process FS1,         the two following error correction procedures are, for example,         expedient.         -   a) By using a systematic error protection algorithm for the             first error protection process FS1, all transmitted encoded             data packets E1, . . . , EN that could be reconstructed in             an error-free manner by the first error protection process             FS1 are replaced by the respective reconstructed data packet             G1, . . . , GN. Then, with the aid of the second error             protection process FS2, a reconstruction of all transmitted             encoded data packets E1, . . . , EN is performed and the             reconstructed data packets G1, . . . , GN thus created.         -   b) Where a non-systematic error protection algorithm is used             for the first error protection process FS1, the             reconstructed data packets G1, . . . , GN of those error             protection blocks F1, . . . , FM, that could be fully             reconstructed, are encoded as encoded auxiliary packets by             means of the first error protection process FS1. The             transmitted encoded data packets E1, . . . , EN of these             error protection blocks F1, . . . , FM are then replaced by             these encoded auxiliary packets. This reduces the number of             errors in the erroneously transmitted encoded data packets             because it has been possible to already improve some             erroneous encoded data packets with the aid of the first             error protection process FS1. In a subsequent process step,             the transmitted, and already partially corrected, encoded             data packets are corrected by the second error protection             process FS2 with the aid of the received complete error             protection block GFB. The reconstructed data packets G1, . .             . , GN are then obtained for each error protection block F1,             . . . , FM, by the first error protection process FS1 using             the partially corrected and transmitted encoded data             packets.     -   In step S9 a check is carried out to determine whether all the         reconstructed data packets G1, . . . , GN can be restored to an         error-free state. If this is the case, the process continues         with step S10; otherwise it continues with step S11.     -   In step S10 the reconstructed data packets G1, . . . , GN are         saved, for example so that a user or also the decoding device DV         can output these to a loudspeaker module at a later point in         time.     -   In step S11 the reconstructed, but erroneous, data packet G1, .         . . , GN are rejected and the user can be informed that the         reconstructed data packets G1, . . . , GN, i.e. the music video         clip cannot be stored because of uncorrectable errors. As an         alternative, the reconstructed data packets G1, . . . , GN can         be stored but the user must then allow for short interruptions         or an erroneous playback when these are output, e.g. to the         loudspeaker module. Furthermore, the decoding device DV can         achieve an improvement in quality by using veiling methods, for         example by interpolation of audio data. In a further         alternative, the receiver, e.g. the decoding device DV, can         transmit control information to the transmitter, e.g. the         encoding device EV, via a return channel, to be established,         that can reconstruct data packets that are not error-free. The         transmitter can then establish a protected point-to-point         connection to this receiver and re-send data packets that are         still absent and/or contain errors to said receiver. In a         further alternative, redundant packets can be sent via the         point-to-multipoint connection to all receivers. With the aid of         these redundant packets, that for example contain redundant         information for one or more data packets, the data packets that         contain errors and/or are missing can be reconstructed. This is         then advantageous if an error-free reconstruction of the data         packets is not possible with several receivers. By transmitting         the data packets via a transmission channel that is susceptible         to errors, data packets can also become lost. Lost data packets         can be replaced by any data packet during the decoding, with         this replaced data packet being marked as erroneous. In this         way, a decoding can take place that takes account of data         packets that are merely erroneous.

The invention also includes the encoding device EV with means for implementing the encoding method. In this case, the encoding device EV, is, for example, integrated into a data computer such as a content server or a mobile radio network, by means of which the process of encoding can be realized. In a further application , the encoding device EV can also be fitted in a mobile terminal, with the mobile terminal, for example, taking a sequence of pictures by means of a camera and these pictures being compressed by means of a video compression process and data packets D1, . . . , DN being generated from same. These data packets D1, . . . , DN can then be encoded according to the inventive method and then transmitted via a network such as a GSM (Global System for Mobile Communication) network.

Furthermore, the invention also includes the decoding device DV with means for performing the decoding method. With the aid of the decoding device DV, the inventive method can be realized and used in a receiver device, for example in a mobile radio telephone according to the UMTS (Universal Mobile Telecommunications System)standard. The encoding device EV and the decoding device DV are shown in FIG. 5. The encoding device EV contains a first storage module SM1, for example for storing data packets D1, . . . , DN,. Furthermore, the encoding device EV also contains an encoding module EM by means of which individual steps for performing the inventive method for encoding can be realized. Furthermore, the encoding device EV includes a transmitting module SM by means of which, for example, the error protection blocks F1, . . . , FM and the complete error protection block GFB can be transmitted via the transmission medium UEM to the decoding device DV. The first memory module SM1, the transmitting module SM and the encoder module EM are interconnected via a first connecting network VX1 in order to exchange data and control information between one another.

The transmission medium UEM enables the transmission of error protection blocks F1, . . . , FM and of the complete error protection block GFB. For example, the transmission medium UEM is embodied in the form of a wireless network according to the GSM and/or UMTS standard, or in the form of a wired network, such as an ISDN (Integrated Digital Subscriber Network) or an IP (Internet Protocol) based intranet and/or internet. When transmitting using the transmission medium UEM, individual packets and/or blocks can be erroneously transmitted.

The partially erroneous transmitted packets and blocks are received by a receiving module EE of the decoding device DV. These are stored in a second storage module SM2 for further processing. The reconstructed data packets G1, . . . , GN, that represent data packets D1, . . . , DN, are created in several steps with the aid of the decoding module DM. These are stored, e.g. in the second storage module SM2 for further processing, for example by a loudspeaker unit. The second storage module SM2, the receiving module EE and the decoder module DM are interconnected to each other by means of a second connecting network VX2, for the exchange of data and control information.

LITERATURE

-   J. Rosenberg, H. Schulzrinne, “An RTP Payload Format for Generic     Forward Error Connection”, IETF RFC 2733, Dec. 1999,     http:///www.ietf.org -   3GPP Doc. GP-031391: “Channel Coding Schemes with Incremental     Redundancy for MBMS”, 3GPP TSG=GERAN Meeting #15, Fort Lauderdale,     Fla., June 2003 -   A. Shokrollahi, “LDPC Codes; An Introduction”, April 2003,     http://www.ipm.ac.ir/IPM.homepage/Amin2.pdf -   3GPP Doc. S4-040230, “Raptor Code Specification for MBMS file     download”, 3GPP TSG-SA4 Meeting #31, Montreal, Canada, May 2004,     http://www.3gpp.org -   M. Bossert, “Kanalcodierung”, B. G. Teubner, 1992 

1-16. (canceled)
 17. An encoding method for transmitting a series of data packets via at least one unidirectional transmission channel within the framework of a combined streaming and downloaded application using a 2-stage error protection process, comprising: dividing the series of data packets into partial blocks, each being formed from a plurality of successive data packets occurring during streaming with the aid of a first error protection process (FS1), b) all data packets (D1, . . . , DN) are protected against transmission errors remaining after streaming is completed with the aid of a second error protection process (FS2) and the following steps are performed for transmission of a series of data packets: c) several successive data packets (D1, . . . , DN) are combined in each case to form a partial block (T1, . . . , TM)]; forming an error protection block for each partial block with the aid of a first error protection process that protects against at least one type of transmission errors occurring during streaming, each error protection block being formed in such a way that: each data packet is encoded to form a corresponding error detection packet that represents the data packet; and each error protection block includes at least one additional packet serving as a redundant block; sequentially transmitting the error protection blocks in a time sequence corresponding to a playback order of the data packets represented by the error detection packets; combining all error detection packets to form a complete block; applying a second error protection process to the complete block to form a complete error protection block; and transmitting the complete error protection block after all error protection blocks are transmitted.
 18. The method as claimed in claim 17, wherein at least one of the following error protection algorithms is used for the first and/or second error protection process: EXOR parity code; Reed-Solomon code; and Low density parity check code.
 19. The method as claimed in claim 17, wherein the quantity of error detection packets in the partial block is determined as a function of a specifiable delay, taking account of a transmission rate, a redundant block length and an error detection packet length.
 20. The method as claimed in claim 17, wherein a characteristic value is created for each data packet by a statistical method, the characteristic value represents an importance of the respective data packet with respect to at least one other data packet, the quantity of data packets for the partial block is selected in such a way that a sum of characteristic values of successive data packets within the respective partial block reaches at least one specifiable threshold.
 21. The method as claimed in claim 17, wherein the error protection block is created in such a way that within an error protection block the encoded data packets are provided with unequal error protection.
 22. The method as claimed in claim 21, wherein error detection data packets containing important information have more error protection, and error detection data packets containing less important information have less error protection.
 23. The method as claimed claim 17, wherein the error protection block is created in such a way that a specifiable number of erroneous error detection packets can be corrected within the error protection block by the first error protection process.
 24. The method as claimed in claim 17, wherein at least one erroneous error detection packet within the error protection block can be corrected by the first error protection process.
 25. The method as claimed in claim 17, wherein at least two successive erroneous error detection packets within the error protection block can be corrected by the first error protection process.
 26. The method as claimed in claim 17, wherein the complete error protection block is created in such a way that a greater number of erroneous error detection data packets can be corrected with the second error protection process than with the first error protection process.
 27. The method as claimed in claim 17, wherein the complete error protection block is created in such a way that it has segments formed by reordering error detection packets, each segment being formed such that errors are separately corrected within the segment.
 28. The method as claimed in claim 17, wherein during the transmission of the error protection blocks, the error detection packets are transmitted via a first transmission channel and the redundant blocks are transmitted via a second transmission channel.
 29. The method as claimed in claim 28, wherein the error detection packets and the redundant blocks are transmitted in synchronization in such a way that the redundant block of the respective error protection block is present at a receiver not later than a time of reception of a last error detection packet of the respective error protection block.
 30. The method as claimed in claim 18, wherein the quantity of error detection packets in the partial block is determined as a function of a specifiable delay, taking account of a transmission rate, a redundant block length and an error detection packet length.
 31. The method as claimed in claim 18, wherein a characteristic value is created for each data packet by a statistical method, the characteristic value represents an importance of the respective data packet with respect to at least one other data packet, the quantity of data packets for the partial block is selected in such a way that a sum of characteristic values of successive data packets within the respective partial block reaches at least one specifiable threshold.
 32. The method as claimed in claim 31, wherein the error protection block is created in such a way that within an error protection block the encoded data packets are provided with unequal error protection.
 33. The method as claimed in claim 32, wherein error detection data packets containing important information have more error protection, and error detection data packets containing less important information have less error protection.
 34. A decoding method comprising decoding a sequence of error detection packets encoded in accordance with the encoding method according to claim
 17. 35. An encoding device for a series of data packets transmitted via at least one unidirectional transmission channel within the framework of a combined streaming and downloaded application using a 2-stage error protection process, comprising: a division unit to divide a series of data packets into partial blocks, each being formed from a plurality of successive data packets; a block forming unit to form an error protection block for each partial block with the aid of a first error protection process that protects against at least one type of transmission error occurring during streaming, each error protection block being formed in such a way that: each data packet is encoded to form a corresponding error detection packet that represents the data packet; and each error protection block includes at least one additional packet serving as a redundant block; a first transmission unit to sequentially transmit the error protection blocks in a time sequence corresponding to a playback order of the data packets represented by the error detection packets; a combination unit to combine all error detection packets to form a complete block; a correction unit to apply a second error protection process to the complete block to form a complete error protection block; and a second transmission unit to transmit the complete error protection block after all error protection blocks are transmitted.
 36. A decoding device comprising a decoder to decode a sequence of error detection packets encoded according to the encoding method according to claim
 17. 